#include "ProgressBar.h"

//函数的实现
void ProgressBar(void)
{
    //这里ProBar的大小不能为101 因为在最后一次循环时 第101个字符也就是ProBar[100]的'\0'也会被改成进度条的符号 这样的话 字符串就没有'\0'了
    //虽然字符串没有'\0'后 因为循环结束 字符串不会再被输出了 但是存在潜在的隐患 万一在别处又用到了这个字符串呢 所以不能把大小定为101
    char ProBar[105];
    memset(ProBar, '\0', sizeof(ProBar));

    const char signal[4] = {'|', '/', '-', '\\'};
    //const char* signal = "|/-\\"; 也是可以的

    int cnt = 0;
    while (cnt <= 100)
    {
        printf("[%-100s][%d%%][%c]\r", ProBar, cnt, signal[cnt % 4]);
        fflush(stdout);
        ProBar[cnt++] = TYPE;
        usleep(50000);
    }

    printf("\n");
    printf("access completed!\n");
}
